-
Notifications
You must be signed in to change notification settings - Fork 306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DAOS-16661 common: Integrate PMDK logging system w/ VOS logging system. #14923
base: master
Are you sure you want to change the base?
Conversation
Ticket title is 'Integrate PMDK logging system w/ VOS logging system.' |
Test stage NLT on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-14923/3/testReport/ |
75504b7
to
ad62bd1
Compare
To enable new message in log in NLT. Allow-unstable-test: true Priority: 2 Required-githooks: true Co-authored-by: Jan Michalski <[email protected]> Co-authored-by: Tomasz Gromadzki <[email protected]> Signed-off-by: Tomasz Gromadzki <[email protected]>
ad62bd1
to
149320c
Compare
To enable new message in log in NLT. Allow-unstable-test: true Priority: 2 Required-githooks: true Signed-off-by: Tomasz Gromadzki <[email protected]>
Priority: 2 Allow-unstable-test: true Skip-func-hw-test: false Required-githooks: true Signed-off-by: Tomasz Gromadzki <[email protected]>
Skip-nlt: true Priority: 2 Allow-unstable-test: true Skip-func-hw-test: false Required-githooks: true Signed-off-by: Tomasz Gromadzki <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@grom72 Packaging changes LGTM. Please re-request review from me once you have gotten your two +1s for the core code changes and I will +1 to remove my -1 review. I just don't want my +1 to be misunderstood to be for the core code changes also.
Test stage Functional Hardware Medium UCX Provider completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14923/11/execution/node/1683/log |
Test stage Functional Hardware Medium UCX Provider completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14923/12/execution/node/635/log |
Skip-nlt: true Priority: 2 Allow-unstable-test: true Required-githooks: true Signed-off-by: Tomasz Gromadzki <[email protected]>
Test stage Functional Hardware Medium completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14923/36/execution/node/1349/log |
Test stage Functional Hardware Medium Verbs Provider completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14923/36/execution/node/1396/log |
Test stage Functional Hardware Medium Verbs Provider completed with status FAILURE. https://build.hpdd.intel.com/job/daos-stack/job/daos/job/PR-14923/37/display/redirect |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14923/38/execution/node/294/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14923/38/execution/node/297/log |
Test stage Test RPMs on EL 8.6 completed with status FAILURE. https://build.hpdd.intel.com/job/daos-stack/job/daos/job/PR-14923/38/display/redirect |
Skip NLT tests for full HW validation Skip-NLT: true Skip-list: test_ior_intercept_libpil4dfs:DAOS-16260 test_daos_degraded_ec:DAOS-16503 test_dfuse_daos_build_wt_pil4dfs:DAOS-16732 Allow-unstable-test: true Priority: 2 Signed-off-by: Tomasz Gromadzki <[email protected]>
https://build.hpdd.intel.com/job/daos-stack/job/daos/job/PR-14923/39/Fault_Injection/ |
src/vos/pmdk_log.c
Outdated
pmdk_log_function(enum pmemobj_log_level level, const char *file_name, unsigned line_no, | ||
const char *function_name, const char *message) | ||
{ | ||
uint64_t dlog_prio = pmemobj_log_level_2_dlog_prio[level]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is one example where pulling in PMDK into DAOS would be useful.
Anyway, this can be improved to be more efficient.
Add the following
#define _D_DEBUG_EXPANDED(func, flag, flag_var, ...)
Have _D_DEBUG call this with DD_FLAG(flag, D_LOGFAC) as the flag var.
In your case, you can have a map like the one you have above to each flag var
e.g. &DD_FLAG(DLOG_INFO, D_LOGFAC)
And instead of calling _D_DEBUG, call _D_DEBUG_EXPANDED with *flag_var you saved.
Additionally, one might consider passing these variables down to the lower level (e..g. register_debug_callback(callback, &DD_FLAG(...)). The check can just be if (*flag != 0) inside of pmdk and the upper level will take care of caching the value for the next call.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The _D_DEBUG_W_SAVED_MASK
macro (instead of _D_DEBUG_EXPANDED
) has been added and the pmdk_log_function()
has been adjusted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be improved
#15810 for example |
Co-authored-by: Jeff Olivier <[email protected]> Co-authored-by: Tomasz Gromadzki <[email protected]> Signed-off-by: Tomasz Gromadzki <[email protected]>
pmdk_log_function optimization based on _D_DEBUG_EXPANDED macro. Skip NLT tests for full HW validation Skip-NLT: true Skip-list: test_ior_intercept_libpil4dfs:DAOS-16260 Allow-unstable-test: true Priority: 2 Co-authored-by: Jeff Olivier <[email protected]> Co-authored-by: Tomasz Gromadzki <[email protected]> Signed-off-by: Tomasz Gromadzki <[email protected]>
Signed-off-by: Tomasz Gromadzki <[email protected]>
Signed-off-by: Tomasz Gromadzki <[email protected]>
Cancel-prev-build: false Skip NLT tests for full HW validation Skip-NLT: true Skip-list: test_ior_intercept_libpil4dfs:DAOS-16260 Allow-unstable-test: true
@@ -28,5 +28,5 @@ ucx=https://github.com/openucx/ucx.git | |||
[patch_versions] | |||
spdk=https://github.com/spdk/spdk/commit/b0aba3fcd5aceceea530a702922153bc75664978.diff,https://github.com/spdk/spdk/commit/445a4c808badbad3942696ecf16fa60e8129a747.diff | |||
mercury=https://raw.githubusercontent.com/daos-stack/mercury/f3dc286fb40ec1a3a38a2e17c45497bc2aa6290d/na_ucx.patch | |||
pmdk=https://github.com/pmem/pmdk/commit/2abe15ac0b4eed894b6768cd82a3b0a7c4336284.diff | |||
pmdk=https://github.com/pmem/pmdk/commit/2abe15ac0b4eed894b6768cd82a3b0a7c4336284.patch,https://github.com/pmem/pmdk/commit/61e32285370e629e2b36bbb991b919e44f87d915.patch,https://github.com/pmem/pmdk/commit/518b7426a13b21f98b2d2c435fa645770899446a.patch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this same patch applied in the PMDK rpm builder?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jolivier23, Patch https://github.com/pmem/pmdk/commit/2abe15ac0b4eed894b6768cd82a3b0a7c4336284.patch is not required for PMDK rpm builder as it is related to ARM architecture only.
The rest are the same.
pmemobj
error and warning messages are written by default tostderr
andsyslog()
.PMDK enables redirecting logging messages to user-specific functions.
All error and warning messages are reported using the DAOS logging function, to ensure a coherent events view for VOS and related
pmemobj
functions.Before requesting gatekeeper:
Features:
(orTest-tag*
) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.Gatekeeper: